struct MyStruct1 {
    var a: Int32;
    var b: Int32;
}

struct MyStruct2 {
    var a: Int32;
    var b: Int64;
}

struct MyStruct3 {
    var a: Int64;
    var b: Int64;
}

function main() {
    var x: Int = sizeof Ptr[MyStruct1];
    printf("%i\n", x);
    printf("%lu\n", sizeof MyStruct1);
    printf("%lu\n", sizeof MyStruct2);
    printf("%lu\n", sizeof MyStruct3);
    printf("%lu\n", sizeof Bool);
    printf("%lu\n", sizeof Int8);
    printf("%lu\n", sizeof Uint8);
    printf("%lu\n", sizeof Int16);
    printf("%lu\n", sizeof Uint16);
    printf("%lu\n", sizeof Int32);
    printf("%lu\n", sizeof Uint32);
    printf("%lu\n", sizeof Float32);
    printf("%lu\n", sizeof Int64);
    printf("%lu\n", sizeof Uint64);
    printf("%lu\n", sizeof Float64);
}
